home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / DirectShow / DVD / DVDSample / dialogs.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-31  |  5.8 KB  |  210 lines

  1. //------------------------------------------------------------------------------
  2. // File: Dialogs.h
  3. //
  4. // Desc: This file contains the header information for the various dialog
  5. //       wrapper classes we use.
  6. //
  7. // Copyright (c) 1999-2001 Microsoft Corporation. All rights reserved.
  8. //------------------------------------------------------------------------------
  9.  
  10.  
  11.  
  12.  
  13. //------------------------------------------------------------------------------
  14. // Name: class CAboutDlg
  15. // Desc: This class is a wrapper for the About Dialog
  16. //------------------------------------------------------------------------------
  17.  
  18. class CAboutDlg  
  19. {
  20. public:
  21.     static BOOL CALLBACK AboutDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  22.     bool DoModal();
  23.     CAboutDlg(HINSTANCE hInstance, HWND hWnd);
  24.     virtual ~CAboutDlg();
  25.  
  26. private:
  27.     HINSTANCE m_hInstance;
  28.     HWND m_hWnd;
  29. };
  30.  
  31.  
  32.  
  33.  
  34. //------------------------------------------------------------------------------
  35. // Name: class CSPLangDlg
  36. // Desc: This class is a wrapper for the Subpicture Language Selection Dialog
  37. //------------------------------------------------------------------------------
  38.  
  39. class CSPLangDlg  
  40. {
  41. public:
  42.     static BOOL CALLBACK SPDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  43.     bool DoModal();
  44.     CSPLangDlg(HINSTANCE hInstance, HWND hWnd);
  45.     virtual ~CSPLangDlg();
  46.  
  47. private:
  48.     bool GetSPLang(ULONG ulStream, TCHAR * buffer, int iBufLen);
  49.     int MakeSPStreamList(HWND hDlg, int iListID);
  50.  
  51.     ULONG m_ulSPStream; // the current SP stream
  52.     BOOL m_bSPOn; // the state of the SP stream (on/off) - we use BOOL instead of bool because
  53.                   // this is what GetCurrentSubpicture returns to us
  54.     ULONG m_ulNumLang; // the number of streams available
  55.     HINSTANCE m_hInstance;
  56.     HWND m_hWnd;
  57. };
  58.  
  59.  
  60.  
  61.  
  62. //------------------------------------------------------------------------------
  63. // Name: class CAudioLangDlg
  64. // Desc: This class is a wrapper for the Audio Language Selection Dialog
  65. //------------------------------------------------------------------------------
  66.  
  67. class CAudioLangDlg  
  68. {
  69. public:
  70.     static BOOL CALLBACK AudioDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  71.     bool DoModal();
  72.     CAudioLangDlg(HINSTANCE hInstance, HWND hWnd);
  73.     virtual ~CAudioLangDlg();
  74.  
  75. private:
  76.     bool GetAudioLang(ULONG ulStream, TCHAR * buffer, int iBufLen);
  77.     int MakeAudioStreamList(HWND hDlg, int iListID);
  78.  
  79.     ULONG m_ulAudioStream; // the current Audio stream
  80.     ULONG m_ulNumLang; // the number of streams available
  81.     HINSTANCE m_hInstance;
  82.     HWND m_hWnd;
  83. };
  84.  
  85.  
  86.  
  87.  
  88. //------------------------------------------------------------------------------
  89. // Name: class CAngleDlg
  90. // Desc: This class is a wrapper for the Angle Selection Dialog
  91. //------------------------------------------------------------------------------
  92.  
  93. class CAngleDlg  
  94. {
  95. public:
  96.     static BOOL CALLBACK AngleDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  97.     bool DoModal();
  98.     CAngleDlg(HINSTANCE hInstance, HWND hWnd);
  99.     virtual ~CAngleDlg();
  100.  
  101. private:
  102.     int MakeAngleList(HWND hDlg, int iListID);
  103.  
  104.     ULONG m_ulAngle; // the current Angle
  105.     ULONG m_ulNumAngle; // the number of angles available
  106.     HINSTANCE m_hInstance;
  107.     HWND m_hWnd;
  108. };
  109.  
  110.  
  111.  
  112.  
  113. //------------------------------------------------------------------------------
  114. // Name: class CChapterDlg
  115. // Desc: This class is a wrapper for the Chapter Selection Dialog
  116. //------------------------------------------------------------------------------
  117.  
  118. class CChapterDlg  
  119. {
  120. public:
  121.     ULONG GetChapter() { return m_ulChapter; }
  122.     static BOOL CALLBACK ChapterDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  123.     bool DoModal();
  124.     CChapterDlg(HINSTANCE hInstance, HWND hWnd);
  125.     virtual ~CChapterDlg();
  126.  
  127. private:
  128.     ULONG m_ulChapter; // the chosen Chapter
  129.     HINSTANCE m_hInstance;
  130.     HWND m_hWnd;
  131. };
  132.  
  133.  
  134.  
  135.  
  136. //------------------------------------------------------------------------------
  137. // Name: class CTitleDlg
  138. // Desc: This class is a wrapper for the Title Selection Dialog
  139. //------------------------------------------------------------------------------
  140.  
  141. class CTitleDlg  
  142. {
  143. public:
  144.     ULONG GetChapter() { return m_ulChapter; }
  145.     ULONG GetTitle() { return m_ulTitle; }
  146.     static BOOL CALLBACK TitleDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  147.     bool DoModal();
  148.     CTitleDlg(HINSTANCE hInstance, HWND hWnd);
  149.     virtual ~CTitleDlg();
  150.  
  151. private:
  152.     ULONG m_ulChapter; // the chosen Chapter
  153.     ULONG m_ulTitle; // the chosen Title
  154.     HINSTANCE m_hInstance;
  155.     HWND m_hWnd;
  156. };
  157.  
  158.  
  159.  
  160.  
  161. //------------------------------------------------------------------------------
  162. // Name: class CTimeDlg
  163. // Desc: This class is a wrapper for the Time Selection Dialog
  164. //------------------------------------------------------------------------------
  165.  
  166. class CTimeDlg  
  167. {
  168. public:
  169.     DVD_HMSF_TIMECODE GetTime() { return m_Time; }
  170.     void SetTime(DVD_HMSF_TIMECODE time) { m_Time = time; }
  171.     static BOOL CALLBACK TimeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  172.     bool DoModal();
  173.     CTimeDlg(HINSTANCE hInstance, HWND hWnd);
  174.     virtual ~CTimeDlg();
  175.  
  176. private:
  177.     DVD_HMSF_TIMECODE m_Time; // the chosen time
  178.     HINSTANCE m_hInstance;
  179.     HWND m_hWnd;
  180. };
  181.  
  182.  
  183.  
  184.  
  185. //------------------------------------------------------------------------------
  186. // Name: class CKaraokeDlg
  187. // Desc: This class is a wrapper for the Karaoke Mixing Dialog
  188. //------------------------------------------------------------------------------
  189.  
  190. class CKaraokeDlg  
  191. {
  192. public:
  193.     static BOOL CALLBACK KaraokeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  194.     bool DoModal();
  195.     CKaraokeDlg(HINSTANCE hInstance, HWND hWnd);
  196.     virtual ~CKaraokeDlg();
  197.  
  198. private:
  199.     const TCHAR * m_pszChannel2;
  200.     const TCHAR * m_pszChannel3;
  201.     const TCHAR * m_pszChannel4;
  202.     HINSTANCE m_hInstance;
  203.     HWND m_hWnd;
  204. };
  205.  
  206.  
  207.  
  208.  
  209.  
  210.